package com.anti.modular.sys.notice.service;

import com.anti.commom.api.Result;
import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.sys.notice.param.SysNoticeParam;
import com.anti.modular.sys.notice.result.SysNoticeDetailResult;

/**
 * @Description TODO
 * @Author anTi
 * @Date 2021-3-25
 */
public interface SysNoticeService {

    Result getNotices();

    PageResult page(PageParam pageParam, SysNoticeParam sysNoticeParam);
    /**
     * 添加系统通知公告
     * @param sysNoticeParam 添加参数
     */
    void add(SysNoticeParam sysNoticeParam);

    /**
     * 删除系统通知公告
     * @param sysNoticeParam 删除参数
     */
    void delete(SysNoticeParam sysNoticeParam);

    /**
     * 编辑系统通知公告
     * @param sysNoticeParam 编辑参数
     */
    void edit(SysNoticeParam sysNoticeParam);

    /**
     * 查看系统通知公告
     * @param sysNoticeParam 查看参数
     * @return 通知公告详情结果
     */
    SysNoticeDetailResult detail(SysNoticeParam sysNoticeParam);

    /**
     * 修改状态
     * @param sysNoticeParam 修改参数
     */
    void saveChangeStatus(SysNoticeParam sysNoticeParam);

    /**
     * 查询当前登陆用户已收通知公告
     * @param sysNoticeParam 查询参数
     * @return 查询分页结果
     */
    PageResult received(PageParam pageParam,SysNoticeParam sysNoticeParam);
}
